home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac-Source 1994 July
/
Mac-Source_July_1994.iso
/
C and C++
/
Libraries
/
TransDisplay
/
Demos
/
C Demos
/
MiniDisplay
/
MiniDisplay.c
next >
Wrap
Text File
|
1994-02-23
|
3KB
|
115 lines
/*
* MiniDisplay - TransDisplay Demonstration. Very simple: just
* demonstrates the various output calls.
*
* The project should include MiniDisplay.c (this file),
* TransDisplay.c (or a project made from TransDisplay.c),
* TransSkel.c (or a project made from TransSkel.c), and MacTraps.
*
* 04 Oct 86 Paul DuBois
* 02 Feb 89 Version 1.01
* - Changed to work with TransSkel2.0 and TransDisplay2.0. 2-byte
* and 4-byte integer types are typedef'ed to Integer and Longint to
* ease porting.
* 15 Jun 92 Version 1.02
* - Modified for TransSkel 3.00 and TransDisplay 3.00. The typedefs
* are now in Compiler.h.
* 06 Jun 93 Version 1.03
* - Conversion for THINK C 6.0.
* 04 Jan 94
* - Undid Integer/LongInt type stuff back to short/long.
* 18 Jan 94
* - Changed calls to DisplayInt()/DisplayHexInt() into calls to
* DisplayShort()/DisplayHexShort(). Added calls for DisplayCString()
* and DisplayOSType().
* 21 Feb 94
* - Updated for TransSkel 3.11, TransDisplay 3.05.
*/
# include "TransSkel.h"
# include "TransDisplay.h"
# define fileMenuNum (skelAppleMenuID+1)
static pascal void
DoFileMenu (short item)
{
SkelStopEventLoop (); /* tell SkelMain to quit */
}
int
main (void)
{
Rect r;
MenuHandle m;
WindowPtr w;
SkelInit ((SkelInitParamsPtr) nil); /* initialize */
SkelApple (nil, nil); /* handle desk accessories */
m = NewMenu (fileMenuNum, "\pFile"); /* create menu and tell TransSkel */
AppendMenu (m, "\pQuit/Q"); /* to handle it */
(void) SkelMenu (m, DoFileMenu, nil, false, true);
SetRect (&r, 100, 75, 420, 275);
w = NewDWindow (&r, "\pMiniDisplay", false, (WindowPtr) -1L, false, 0L);
if (w == nil)
{
SkelCleanup ();
ExitToShell ();
}
DisplayString ("\pThis is MiniDisplay, a minimal demonstration of ");
DisplayString ("\pTransDisplay. The following types of output may ");
DisplayString ("\pbe written with the built-in output calls:");
DisplayLn ();
DisplayLn ();
DisplayString ("\pArbitrary length text: ");
DisplayText ("Some text", 9L);
DisplayLn ();
DisplayString ("\pPascal string: ");
DisplayString ("\p\"\\pThis is a Pascal string.\"");
DisplayLn ();
DisplayString ("\pC string: ");
DisplayCString ("\"This is a C string.\"");
DisplayLn ();
DisplayString ("\pChar: '");
DisplayChar ('x');
DisplayString ("\p' Hex char: ");
DisplayHexChar ('x');
DisplayLn ();
DisplayString ("\pShort: ");
DisplayShort (1023);
DisplayString ("\p Hex short: ");
DisplayHexShort (1023);
DisplayLn ();
DisplayString ("\pLong: ");
DisplayLong (32768L);
DisplayString ("\p Hex long: ");
DisplayHexLong (32768L);
DisplayLn ();
DisplayString ("\pBoolean: ");
DisplayBoolean (true);
DisplayString ("\p, ");
DisplayBoolean (false);
DisplayLn ();
DisplayString ("\pOS text type: '");
DisplayOSType ('TEXT');
DisplayChar ('\'');
DisplayLn ();
DisplayString ("\pCarriage return.");
DisplayLn ();
DisplayLn ();
DisplayString ("\pSelect Quit from the File menu to exit.");
SetDWindowPos (w, 0); /* scroll back to top */
ShowWindow (w);
SkelEventLoop (); /* loop 'til Quit selected */
SkelCleanup (); /* clean up */
}